ioemu: fix compilation without softfloat
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 11 Feb 2008 10:02:39 +0000 (10:02 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 11 Feb 2008 10:02:39 +0000 (10:02 +0000)
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
tools/ioemu/cpu-all.h
tools/ioemu/target-i386-dm/cpu.h

index 2f125b785d728ed1ab8f249b60792b2b53bbc430..9cc854ed7cd8c5c16d35e6b15b12b2fcf08b3815 100644 (file)
@@ -116,6 +116,7 @@ static inline void tswap64s(uint64_t *s)
 #define bswaptls(s) bswap64s(s)
 #endif
 
+#ifdef CONFIG_SOFTFLOAT
 /* NOTE: arm FPA is horrible as double 32 bit words are stored in big
    endian ! */
 typedef union {
@@ -134,6 +135,7 @@ typedef union {
 #endif
     uint64_t ll;
 } CPU_DoubleU;
+#endif
 
 /* CPU memory access without any memory or io remapping */
 
@@ -267,6 +269,7 @@ static inline void stq_le_p(void *ptr, uint64_t v)
     stl_le_p(p + 4, v >> 32);
 }
 
+#ifdef CONFIG_SOFTFLOAT
 /* float access */
 
 static inline float32 ldfl_le_p(void *ptr)
@@ -304,6 +307,7 @@ static inline void stfq_le_p(void *ptr, float64 v)
     stl_le_p(ptr, u.l.lower);
     stl_le_p(ptr + 4, u.l.upper);
 }
+#endif
 
 #else
 
@@ -342,6 +346,7 @@ static inline void stq_le_p(void *ptr, uint64_t v)
     *(uint64_t *)ptr = v;
 }
 
+#ifdef CONFIG_SOFTFLOAT
 /* float access */
 
 static inline float32 ldfl_le_p(void *ptr)
@@ -364,6 +369,7 @@ static inline void stfq_le_p(void *ptr, float64 v)
     *(float64 *)ptr = v;
 }
 #endif
+#endif
 
 #if !defined(WORDS_BIGENDIAN) || defined(WORDS_ALIGNED)
 
@@ -456,6 +462,7 @@ static inline void stq_be_p(void *ptr, uint64_t v)
     stl_be_p(ptr + 4, v);
 }
 
+#ifdef CONFIG_SOFTFLOAT
 /* float access */
 
 static inline float32 ldfl_be_p(void *ptr)
@@ -493,6 +500,7 @@ static inline void stfq_be_p(void *ptr, float64 v)
     stl_be_p(ptr, u.l.upper);
     stl_be_p(ptr + 4, u.l.lower);
 }
+#endif
 
 #else
 
@@ -531,6 +539,7 @@ static inline void stq_be_p(void *ptr, uint64_t v)
     *(uint64_t *)ptr = v;
 }
 
+#ifdef CONFIG_SOFTFLOAT
 /* float access */
 
 static inline float32 ldfl_be_p(void *ptr)
@@ -552,6 +561,7 @@ static inline void stfq_be_p(void *ptr, float64 v)
 {
     *(float64 *)ptr = v;
 }
+#endif
 
 #endif
 
index 017b8c021b1c22b4b4258787c19dda23beb56fe4..6071a8529ecd10e2cffa0765439f420989fd67fc 100644 (file)
 
 #include "cpu-defs.h"
 
+#ifdef CONFIG_SOFTFLOAT
 #include "softfloat.h"
+#endif
 
 #if defined(__i386__) && !defined(CONFIG_SOFTMMU)
 #define USE_CODE_COPY
 #endif
 
+#ifdef CONFIG_SOFTFLOAT
 #ifdef USE_X86LDOUBLE
 typedef floatx80 CPU86_LDouble;
 #else
 typedef float64 CPU86_LDouble;
 #endif
+#endif
 
 /* Empty for now */
 typedef struct CPUX86State {